# conding = utf-8
import logging.handlers
# 方式1：注意：默认级别时warning而且，输出只会在控制台输出
# logging.debug("我的好盆友今天一起去打酱油了.")
# logging.warning("他和我的好盆友今天一起去打酱油了.")

# 方式2：配置方式
# level : 设置级别
# format ：设置格式
# filename : 日志文件的输出位置
# 注意：只能输出到文件，不能到控制台
# logging.basicConfig(
#     level=logging.DEBUG,
#     format="%(asctime)s %(levelname)s [%(name)s] [%(filename)s (%(funcName)s:%(lineno)d)] - %(message)s",
#     filename="./litemall.log"
# )
# logging.debug("我的好盆友今天一起去打酱油了.")
# logging.warning("他和我的好盆友今天一起去打酱油了.")

# 方式3：配置控制台和文件同时输出
# logger：日志对象
import time
logger = logging.getLogger("模块名称") #如果没有模块名称默认为root
# 设置日志输出级别
logger.setLevel(logging.DEBUG)
# 设置日志输出格式
fmt = logging.Formatter(fmt="%(asctime)s %(levelname)s [%(name)s] [%(filename)s (%(funcName)s:%(lineno)d)] - %(message)s")
# 设置控制台对象
console = logging.StreamHandler()
console.setFormatter(fmt=fmt)
# 设置文件输出对象
file = logging.handlers.\
    TimedRotatingFileHandler(f"./liteamll-{time.strftime('%Y_%m_%d')}.log")
file.setFormatter(fmt=fmt)
# 将控制台对象加入到日志对象中
logger.addHandler(console)
# 将文件输出对象加入到日志对象中
logger.addHandler(file)
logger.debug("你好呀")